

import java.util.List;
import java.util.stream.Stream;

/**
 * @author feng
 * @Date 2021/12/4 12:07
 * stream的相关概念
 * 1)不会存储元素
 * 2）不会改变原对象
 * 3)操作延迟，一旦执行终止操作，才会执行操作链
 */
public class StreamTest {
    @Test
    public void Test() {
        List<Employee> employees = EmployeeData.getEmployees();

        Stream<Employee> stream = employees.stream();
        //1.从流中排除哪些元素
        //查询员工大于7000的
        stream.filter(e->e.getSalary()>7000).forEach(System.out::println);
        System.out.println("***************");
        //2.截断流
        employees.stream().limit(3).forEach(System.out::println);
        //3.跳过多少元素
        System.out.println();
        employees.stream().skip(3).forEach(System.out::println);
        System.out.println();
       // 4.筛选:去重
       employees.add(new Employee(1001,"zhangsam",30,3000.0));
       employees.stream().distinct().forEach(System.out::println);
    }
}
